Page({
  data: {
    activeTab: 0,
    tabs: ['Excel导入', '模板下载'],
    selectedSubject: '语文',
    subjects: ['语文', '数学', '英语'],
    selectedType: '单选题',
    types: ['单选题', '多选题', '填空题', '解答题'],
    filePath: '',
    fileName: '',
    hasSelectFile: false,
    importProgress: 0,
    showProgressBar: false,
    importResult: {
      success: 0,
      fail: 0,
      total: 0
    },
    showResult: false,
    templates: [
      { name: '语文单选题导入模板', subject: '语文', type: '单选题', url: 'template_chinese_single.xlsx' },
      { name: '数学单选题导入模板', subject: '数学', type: '单选题', url: 'template_math_single.xlsx' },
      { name: '英语单选题导入模板', subject: '英语', type: '单选题', url: 'template_english_single.xlsx' },
      { name: '语文多选题导入模板', subject: '语文', type: '多选题', url: 'template_chinese_multiple.xlsx' },
      { name: '数学多选题导入模板', subject: '数学', type: '多选题', url: 'template_math_multiple.xlsx' },
      { name: '英语多选题导入模板', subject: '英语', type: '多选题', url: 'template_english_multiple.xlsx' },
      { name: '语文填空题导入模板', subject: '语文', type: '填空题', url: 'template_chinese_blank.xlsx' },
      { name: '数学填空题导入模板', subject: '数学', type: '填空题', url: 'template_math_blank.xlsx' },
      { name: '英语填空题导入模板', subject: '英语', type: '填空题', url: 'template_english_blank.xlsx' },
      { name: '语文解答题导入模板', subject: '语文', type: '解答题', url: 'template_chinese_essay.xlsx' },
      { name: '数学解答题导入模板', subject: '数学', type: '解答题', url: 'template_math_essay.xlsx' },
      { name: '英语解答题导入模板', subject: '英语', type: '解答题', url: 'template_english_essay.xlsx' }
    ]
  },

  onLoad: function() {
    // 初始化数据
  },

  // 切换选项卡
  switchTab: function(e) {
    const index = e.currentTarget.dataset.index;
    this.setData({
      activeTab: index
    });
  },

  // 选择学科
  selectSubject: function(e) {
    const subject = e.currentTarget.dataset.subject;
    this.setData({
      selectedSubject: subject
    });
  },

  // 选择题型
  selectType: function(e) {
    const type = e.currentTarget.dataset.type;
    this.setData({
      selectedType: type
    });
  },

  // 选择文件
  chooseFile: function() {
    const that = this;
    wx.chooseMessageFile({
      count: 1,
      type: 'file',
      extension: ['xlsx', 'xls'],
      success(res) {
        const tempFile = res.tempFiles[0];
        if (tempFile) {
          that.setData({
            filePath: tempFile.path,
            fileName: tempFile.name,
            hasSelectFile: true
          });
        }
      }
    });
  },

  // 导入文件
  importFile: function() {
    const { filePath, selectedSubject, selectedType } = this.data;
    
    if (!filePath) {
      wx.showToast({
        title: '请先选择文件',
        icon: 'none'
      });
      return;
    }
    
    // 显示进度条
    this.setData({
      showProgressBar: true,
      importProgress: 0
    });
    
    // 模拟导入进度
    let progress = 0;
    const interval = setInterval(() => {
      progress += 5;
      if (progress > 100) {
        clearInterval(interval);
        this.showImportResult();
      } else {
        this.setData({
          importProgress: progress
        });
      }
    }, 100);
    
    // 实际应用中，应该调用云函数处理Excel文件
    // 以下是模拟代码
    // wx.uploadFile({
    //   url: 'https://your-server.com/api/import-questions',
    //   filePath: filePath,
    //   name: 'file',
    //   formData: {
    //     subject: selectedSubject,
    //     type: selectedType
    //   },
    //   success(res) {
    //     clearInterval(interval);
    //     const result = JSON.parse(res.data);
    //     that.setData({
    //       importResult: result,
    //       showResult: true,
    //       showProgressBar: false
    //     });
    //   },
    //   fail(error) {
    //     clearInterval(interval);
    //     console.error('导入失败', error);
    //     wx.showToast({
    //       title: '导入失败',
    //       icon: 'none'
    //     });
    //   }
    // });
  },

  // 显示导入结果
  showImportResult: function() {
    // 模拟导入结果
    const total = Math.floor(Math.random() * 30) + 10;
    const success = Math.floor(Math.random() * total);
    const fail = total - success;
    
    this.setData({
      importResult: {
        success,
        fail,
        total
      },
      showResult: true,
      showProgressBar: false
    });
    
    // 重置文件选择状态
    setTimeout(() => {
      this.setData({
        filePath: '',
        fileName: '',
        hasSelectFile: false
      });
    }, 3000);
  },

  // 下载模板
  downloadTemplate: function(e) {
    const { index } = e.currentTarget.dataset;
    const template = this.data.templates[index];
    
    // 显示"假装"下载中的提示
    wx.showLoading({
      title: '下载中...',
    });
    
    // 实际应用中，应该调用云函数获取文件下载链接
    // 以下是模拟代码
    setTimeout(() => {
      wx.hideLoading();
      wx.showToast({
        title: '下载成功',
        icon: 'success'
      });
    }, 1500);
  },

  // 返回上一页
  goBack: function() {
    wx.navigateBack();
  }
}) 